#!/usr/bin/env python
"""
Acorn-SDR ('A Collection of Radio Nodes')
(c) Bob Cowdery (G3UKB) 2009

File: dynamic.py
Date: April 2009

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

The author can be reached by email at

bob@g3ukb.co.uk

================================================================================
Module Description:

The dynamic dataset is the operational data that changes as the radio is used. It
represents the radio state at any point in time. Each profile must have a corresponding
dynamic section as each profile can have different state variables. This also allows
profiles for special interest to be configured as well as different hw/sw configs.

"""

#-------------------------------------------------------------------------------
# System imports

#-------------------------------------------------------------------------------
# Dynamic data set
dynamic = {
    'SDR1K/PyDSP - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.1,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.1,
            'modeb': 'LSB',
            'filterb': '2K1',
            'agcmode': 'AGC_FAST',
            'gain' : 50,
        }
    },
    'SDR1K/DttSp - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.1,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.1,
            'modeb': 'LSB',
            'filterb': '2K1',
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'agcmode': 'AGC_FAST',
            'bin': False,
            'nr': False,
            'nb': False,
            'anf': False,
            'gain' : 50,
        },
        1 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        2 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        3 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
    },
    'SDR1K/OZY/DttSp - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.1,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.1,
            'modeb': 'LSB',
            'filterb': '2K1',
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'agcmode': 'AGC_FAST',
            'bin': False,
            'nr': False,
            'nb': False,
            'anf': False,
            'gain' : 50,
        },
        1 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        2 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        3 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
    },
    'OZY/PyDSP - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.1,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.1,
            'modeb': 'LSB',
            'filterb': '2K1',
            'agcmode': 'AGC_FAST',
            'gain' : 50,
        }
    },
    'OZY/Jack/PyDSP - Local/Remote':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.1,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.1,
            'modeb': 'LSB',
            'filterb': '2K1',
            'agcmode': 'AGC_FAST',
            'gain' : 50,
        }
    },
    'OZY/PyDSP (Combined) - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.1,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.1,
            'modeb': 'LSB',
            'filterb': '2K1',
            'agcmode': 'AGC_FAST',
            'gain' : 50,
        }
    },
    'OZY/DttSp - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.1,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.1,
            'modeb': 'LSB',
            'filterb': '2K1',
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'agcmode': 'AGC_FAST',
            'bin': False,
            'nr': False,
            'nb': False,
            'anf': False,
            'gain' : 50,
        },
        1 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        2 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        3 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
    },
    'Softrock 6.0/Lite 40M/ DttSp - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.055,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.055,
            'modeb': 'LSB',
            'filterb': '2K1',
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'agcmode': 'AGC_FAST',
            'bin': False,
            'nr': False,
            'nb': False,
            'anf': False,
            'gain' : 50,
        },
        1 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        2 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        3 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
    },
    'Softrock SR 6.0/Lite 80M/ DttSp - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 3.522,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 3.522,
            'modeb': 'LSB',
            'filterb': '2K1',
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'agcmode': 'AGC_FAST',
            'bin': False,
            'nr': False,
            'nb': False,
            'anf': False,
            'gain' : 50,
        },
        1 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        2 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        3 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
    },
    'Softrock 6.0/Lite 40M/OZY/DttSp - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 7.055,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 7.055,
            'modeb': 'LSB',
            'filterb': '2K1',
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'agcmode': 'AGC_FAST',
            'bin': False,
            'nr': False,
            'nb': False,
            'anf': False,
            'gain' : 50,
        },
        1 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        2 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        3 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
    },
    'Softrock 6.0/Lite 80M/OZY/DttSp - Local':
    {
        'version' : 0,
        0 :
        {
            'running': False,
            # One of vfoa,vfob,offseta,offsetb
            'track': 'vfoa',
            'listen': 0,
            'vfoa': 3.522,
            'modea': 'LSB',
            'filtera': '2K1',
            'vfob': 3.522,
            'modeb': 'LSB',
            'filterb': '2K1',
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'agcmode': 'AGC_FAST',
            'bin': False,
            'nr': False,
            'nb': False,
            'anf': False,
            'gain' : 50,
        },
        1 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        2 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
        3 :
        {
            'running': False,
            'offseta': 0.0,
            'offsetb': 0.0,
            'pan': 50,
            'mode': 'LSB',
            'filter': '2K1',
        },
    },
}
